News All Tests
Current file: /home/estudydev/workspace/MSP09/web/news/tests/class.team.inc.php
Legend: executed not executed dead code

  Coverage
  Classes Methods Lines
Total
100.00 %100.00%
100.00% 1 / 1
0.00 %0.00%
0.00% 0 / 21
0.96 %0.96%
0.96% 2 / 209
 
Team
100.00 %100.00%
100.00% 1 / 1
0.00 %0.00%
0.00% 0 / 21
0.48 %0.48%
0.48% 1 / 208
 public function Team($teamID)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 21
 public function setData($data)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 28
 public function createTeam()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 7
 public function deleteTeam()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 9
 public function setDefaultValues()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 7
 public function echoFormRow($data = NULL)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 23
 public function getID()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function getName()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function validateName($name)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 8
 public function setName($name)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 14
 public function getStyle()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function validateStyle($name)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 11
 public function setStyle($name)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 18
 public function getLogo()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function validateLogo($url)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 4
 public function setLogo($name)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 18
 public function getMaxMembers()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function validateMaxMembers($maxMembers)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 3
 public function setMaxMembers($maxMembers)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 15
 public function getCourseID()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function setCourseID($courseID)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 15


       1                 : <?php                                                                                                                                                                                                                                                                                                                                                                                                                                        
       2                 : /*--------------------------------------------------------------------------+                                                                                                                                                                                                                                                                                                                                                                
       3                 : This file is part of eStudy.                                                                                                                                                                                                                                                                                                                                                                                                                 
       4                 : teams/classes/class.team.inc.php                                                                                                                                                                                                                                                                                                                                                                                                             
       5                 : - Modulgruppe:  Teams                                                                                                                                                                                                                                                                                                                                                                                                                        
       6                 : - Beschreibung: Klasse zum Erstellen eines Team-Objekts                                                                                                                                                                                                                                                                                                                                                                                      
       7                 : und Bereitstellen von zugehörigen Funktionen.                                                                                                                                                                                                                                                                                                                                                                                               
       8                 : - Version:      0.2, 05/11/06                                                                                                                                                                                                                                                                                                                                                                                                                
       9                 : - Autor(en):    Clemens Weiß <clemens.weiss@mni.fh-giessen.de>                                                                                                                                                                                                                                                                                                                                                                              
      10                 : +---------------------------------------------------------------------------+                                                                                                                                                                                                                                                                                                                                                                
      11                 : This program is free software; you can redistribute it and/or                                                                                                                                                                                                                                                                                                                                                                                
      12                 : modify it under the terms of the GNU General Public License                                                                                                                                                                                                                                                                                                                                                                                  
      13                 : as published by the Free Software Foundation; either version 2                                                                                                                                                                                                                                                                                                                                                                               
      14                 : of the License, or any later version.                                                                                                                                                                                                                                                                                                                                                                                                        
      15                 : +---------------------------------------------------------------------------+                                                                                                                                                                                                                                                                                                                                                                
      16                 : This program is distributed in the hope that it will be useful,                                                                                                                                                                                                                                                                                                                                                                              
      17                 : but WITHOUT ANY WARRANTY; without even the implied warranty of                                                                                                                                                                                                                                                                                                                                                                               
      18                 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                                                                                                                                                                                                                                                                                                                                                                
      19                 : GNU General Public License for more details.                                                                                                                                                                                                                                                                                                                                                                                                 
      20                 : You should have received a copy of the GNU General Public License                                                                                                                                                                                                                                                                                                                                                                            
      21                 : along with this program; if not, write to the Free Software                                                                                                                                                                                                                                                                                                                                                                                  
      22                 : Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.                                                                                                                                                                                                                                                                                                                                                                  
      23                 : +--------------------------------------------------------------------------*/                                                                                                                                                                                                                                                                                                                                                                
      24                 : /**                                                                                                                                                                                                                                                                                                                                                                                                                                          
      25                 :  * Klasse zum Erstellen eines Team-Objekts                                                                                                                                                                                                                                                                                                                                                                                                   
      26                 :  * und Bereitstellen von zugehörigen Funktionen.                                                                                                                                                                                                                                                                                                                                                                                            
      27                 :  * @package eStudy.Teams                                                                                                                                                                                                                                                                                                                                                                                                                     
      28                 :  * @version 0.2, 05/11/06                                                                                                                                                                                                                                                                                                                                                                                                                    
      29                 :  * @author Clemens Weiß <clemens.weiss@mni.fh-giessen.de>                                                                                                                                                                                                                                                                                                                                                                                   
      30                 :  */                                                                                                                                                                                                                                                                                                                                                                                                                                          
      31               1 : require_once ("class.style.inc.php");                                                                                                                                                                                                                                                                                                                                                                                                        
      32               1 : class Team {                                                                                                                                                                                                                                                                                                                                                                                                                                 
      33                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
      34                 :      * ID des Teams                                                                                                                                                                                                                                                                                                                                                                                                                          
      35                 :      * @var integer                                                                                                                                                                                                                                                                                                                                                                                                                          
      36                 :      * @access private                                                                                                                                                                                                                                                                                                                                                                                                                       
      37                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
      38                 :     var $ID;                                                                                                                                                                                                                                                                                                                                                                                                                                 
      39                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
      40                 :      * Name des Teams                                                                                                                                                                                                                                                                                                                                                                                                                        
      41                 :      * @var string                                                                                                                                                                                                                                                                                                                                                                                                                           
      42                 :      * @access private                                                                                                                                                                                                                                                                                                                                                                                                                       
      43                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
      44                 :     var $name;                                                                                                                                                                                                                                                                                                                                                                                                                               
      45                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
      46                 :      * Kurs-ID des Teams                                                                                                                                                                                                                                                                                                                                                                                                                     
      47                 :      * @var integer                                                                                                                                                                                                                                                                                                                                                                                                                          
      48                 :      * @access private                                                                                                                                                                                                                                                                                                                                                                                                                       
      49                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
      50                 :     var $courseID;                                                                                                                                                                                                                                                                                                                                                                                                                           
      51                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
      52                 :      * Maximale Teilnehmerzahl des Teams                                                                                                                                                                                                                                                                                                                                                                                                     
      53                 :      * @var integer                                                                                                                                                                                                                                                                                                                                                                                                                          
      54                 :      * @access private                                                                                                                                                                                                                                                                                                                                                                                                                       
      55                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
      56                 :     var $maxMembers;                                                                                                                                                                                                                                                                                                                                                                                                                         
      57                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
      58                 :      * Team-Style                                                                                                                                                                                                                                                                                                                                                                                                                            
      59                 :      * @var string                                                                                                                                                                                                                                                                                                                                                                                                                           
      60                 :      * @access private                                                                                                                                                                                                                                                                                                                                                                                                                       
      61                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
      62                 :     var $style;                                                                                                                                                                                                                                                                                                                                                                                                                              
      63                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
      64                 :      * Team-Logo                                                                                                                                                                                                                                                                                                                                                                                                                             
      65                 :      * @var string                                                                                                                                                                                                                                                                                                                                                                                                                           
      66                 :      * @access private                                                                                                                                                                                                                                                                                                                                                                                                                       
      67                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
      68                 :     var $logo;                                                                                                                                                                                                                                                                                                                                                                                                                               
      69                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
      70                 :      * Fehlerstrings                                                                                                                                                                                                                                                                                                                                                                                                                         
      71                 :      * @var string                                                                                                                                                                                                                                                                                                                                                                                                                           
      72                 :      * @access private                                                                                                                                                                                                                                                                                                                                                                                                                       
      73                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
      74                 :     var $errors;                                                                                                                                                                                                                                                                                                                                                                                                                             
      75                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
      76                 :      * Konstruktor.                                                                                                                                                                                                                                                                                                                                                                                                                          
      77                 :      * Erstellt das Team-Objekt mit den Daten des per ID bestimmten Teams.                                                                                                                                                                                                                                                                                                                                                                   
      78                 :      * Wird eine ungültige ID (oder 0) übergeben, wird ein neues Team                                                                                                                                                                                                                                                                                                                                                                      
      79                 :      * erstellt.                                                                                                                                                                                                                                                                                                                                                                                                                             
      80                 :      *                                                                                                                                                                                                                                                                                                                                                                                                                                       
      81                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                        
      82                 :      * @param int $teamID ID des Teams oder 0 für neues Team                                                                                                                                                                                                                                                                                                                                                                                
      83                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
      84                 :     function Team($teamID) {                                                                                                                                                                                                                                                                                                                                                                                                                 
      85               0 :         global $db, $settings;                                                                                                                                                                                                                                                                                                                                                                                                               
      86               0 :         $dbp = $settings["dbPrefix"];                                                                                                                                                                                                                                                                                                                                                                                                        
      87               0 :         $this->errors = "";                                                                                                                                                                                                                                                                                                                                                                                                                  
      88               0 :         $newTeam = false;                                                                                                                                                                                                                                                                                                                                                                                                                    
      89               0 :         if (strval(intval($teamID)) == $teamID && $teamID > 0) {                                                                                                                                                                                                                                                                                                                                                                             
      90               0 :             $teamData = $db->get_row("SELECT * FROM {$dbp}teams WHERE id='$teamID'");                                                                                                                                                                                                                                                                                                                                                        
      91               0 :             if ($db->num_rows) {                                                                                                                                                                                                                                                                                                                                                                                                             
      92               0 :                 $this->ID = (int)$teamData->id;                                                                                                                                                                                                                                                                                                                                                                                              
      93               0 :                 $this->name = $teamData->name;                                                                                                                                                                                                                                                                                                                                                                                               
      94               0 :                 $this->courseID = (int)$teamData->course_id;                                                                                                                                                                                                                                                                                                                                                                                 
      95               0 :                 $this->maxMembers = (int)$teamData->max_members;                                                                                                                                                                                                                                                                                                                                                                             
      96               0 :                 $this->style = $teamData->style;                                                                                                                                                                                                                                                                                                                                                                                             
      97               0 :                 $this->logo = $teamData->logo;                                                                                                                                                                                                                                                                                                                                                                                               
      98               0 :             } else {                                                                                                                                                                                                                                                                                                                                                                                                                         
      99               0 :                 $newTeam = true;                                                                                                                                                                                                                                                                                                                                                                                                             
     100                 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                
     101               0 :         } else {                                                                                                                                                                                                                                                                                                                                                                                                                             
     102               0 :             $newTeam = true;                                                                                                                                                                                                                                                                                                                                                                                                                 
     103                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     104               0 :         if ($newTeam) {                                                                                                                                                                                                                                                                                                                                                                                                                      
     105               0 :             $this->setDefaultValues();                                                                                                                                                                                                                                                                                                                                                                                                       
     106               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     107               0 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                        
     108                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
     109                 :      * Versucht, die im übergebenen Array vorhandenen Daten anhand der                                                                                                                                                                                                                                                                                                                                                                      
     110                 :      * assoziativen Array-Indizes als neue Team-Daten abzuspeichern. Dabei                                                                                                                                                                                                                                                                                                                                                                   
     111                 :      * kann es sich zum Beispiel um das $_POST-Array handeln. Es werden dabei                                                                                                                                                                                                                                                                                                                                                                
     112                 :      * entweder alle oder keine Daten gespeichert. Sind einige der Daten                                                                                                                                                                                                                                                                                                                                                                     
     113                 :      * fehlerhaft, wird ein String mit Fehlermeldungen in $this->errors gespeichert                                                                                                                                                                                                                                                                                                                                                          
     114                 :      * und false zurückgegeben, sonst true.                                                                                                                                                                                                                                                                                                                                                                                                 
     115                 :      *                                                                                                                                                                                                                                                                                                                                                                                                                                       
     116                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                        
     117                 :      * @param array $data Assoziatives Array mit den neuen Werten                                                                                                                                                                                                                                                                                                                                                                            
     118                 :      * @return boolean Erfolgswert                                                                                                                                                                                                                                                                                                                                                                                                           
     119                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
     120                 :     function setData($data) {                                                                                                                                                                                                                                                                                                                                                                                                                
     121               0 :         $this->errors = "";                                                                                                                                                                                                                                                                                                                                                                                                                  
     122               0 :         if (($result = $this->validateName($data["name"])) !== true) {                                                                                                                                                                                                                                                                                                                                                                       
     123               0 :             $this->errors.= $result."\n";                                                                                                                                                                                                                                                                                                                                                                                                    
     124               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     125               0 :         if (($result = $this->validateMaxMembers($data["maxMembers"])) !== true) {                                                                                                                                                                                                                                                                                                                                                           
     126               0 :             $this->errors.= $result."\n";                                                                                                                                                                                                                                                                                                                                                                                                    
     127               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     128               0 :         if (($result = $this->validateStyle($data["style"])) !== true) {                                                                                                                                                                                                                                                                                                                                                                     
     129               0 :             $this->errors.= $result."\n";                                                                                                                                                                                                                                                                                                                                                                                                    
     130               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     131               0 :         if (($result = $this->validateLogo($data["logo"])) !== true) {                                                                                                                                                                                                                                                                                                                                                                       
     132               0 :             $this->errors.= $result."\n";                                                                                                                                                                                                                                                                                                                                                                                                    
     133               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     134               0 :         if (empty($this->errors)) {                                                                                                                                                                                                                                                                                                                                                                                                          
     135               0 :             if (!$this->setName($data["name"])) {                                                                                                                                                                                                                                                                                                                                                                                            
     136               0 :                 $this->errors.= "Name konnte nicht gespeichert werden.\n";                                                                                                                                                                                                                                                                                                                                                                   
     137               0 :                 return false;                                                                                                                                                                                                                                                                                                                                                                                                                
     138                 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                
     139               0 :             if (!$this->setMaxMembers($data["maxMembers"])) {                                                                                                                                                                                                                                                                                                                                                                                
     140               0 :                 $this->errors.= "Maximale Teilnehmerzahl konnte nicht gespeichert werden.";                                                                                                                                                                                                                                                                                                                                                  
     141               0 :                 return false;                                                                                                                                                                                                                                                                                                                                                                                                                
     142                 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                
     143               0 :             if (!$this->setStyle($data["style"])) {                                                                                                                                                                                                                                                                                                                                                                                          
     144               0 :                 $this->errors.= "Style konnte nicht gespeichert werden.";                                                                                                                                                                                                                                                                                                                                                                    
     145               0 :                 return false;                                                                                                                                                                                                                                                                                                                                                                                                                
     146                 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                
     147               0 :             if (!$this->setLogo($data["logo"])) {                                                                                                                                                                                                                                                                                                                                                                                            
     148               0 :                 $this->errors.= "Logo konnte nicht gespeichert werden.";                                                                                                                                                                                                                                                                                                                                                                     
     149               0 :                 return false;                                                                                                                                                                                                                                                                                                                                                                                                                
     150                 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                
     151               0 :             return true;                                                                                                                                                                                                                                                                                                                                                                                                                     
     152                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     153               0 :         return false;                                                                                                                                                                                                                                                                                                                                                                                                                        
     154                 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                        
     155                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
     156                 :      * Erstellt den grundlegenden Datenbankeintrag für das Team. Gesetzt wird                                                                                                                                                                                                                                                                                                                                                               
     157                 :      * nur die Kurs-ID, die anderen Felder werden mit ihren Standardwerten belegt.                                                                                                                                                                                                                                                                                                                                                           
     158                 :      *                                                                                                                                                                                                                                                                                                                                                                                                                                       
     159                 :      * @access private                                                                                                                                                                                                                                                                                                                                                                                                                       
     160                 :      * @return boolean Erfolgswert                                                                                                                                                                                                                                                                                                                                                                                                           
     161                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
     162                 :     function createTeam() {                                                                                                                                                                                                                                                                                                                                                                                                                  
     163               0 :         global $db, $settings;                                                                                                                                                                                                                                                                                                                                                                                                               
     164               0 :         $dbp = $settings["dbPrefix"];                                                                                                                                                                                                                                                                                                                                                                                                        
     165               0 :         $db->query("INSERT INTO {$dbp}teams (course_id) VALUES ('$this->courseID')");                                                                                                                                                                                                                                                                                                                                                        
     166               0 :         if ($db->rows_affected) {                                                                                                                                                                                                                                                                                                                                                                                                            
     167               0 :             $this->ID = $db->insert_id;                                                                                                                                                                                                                                                                                                                                                                                                      
     168               0 :             return true;                                                                                                                                                                                                                                                                                                                                                                                                                     
     169                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     170               0 :         return false;                                                                                                                                                                                                                                                                                                                                                                                                                        
     171                 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                        
     172                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
     173                 :      * Löscht dieses Team und alle Zuordnungen zu Mitgliedern. Alle                                                                                                                                                                                                                                                                                                                                                                         
     174                 :      * Eigenschaften dieses Objekts werden auf Standardwerte gesetzt, so dass                                                                                                                                                                                                                                                                                                                                                                
     175                 :      * damit gleich ein neues Team erzeugt werden kann.                                                                                                                                                                                                                                                                                                                                                                                      
     176                 :      *                                                                                                                                                                                                                                                                                                                                                                                                                                       
     177                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                        
     178                 :      * @return boolean Erfolgswert                                                                                                                                                                                                                                                                                                                                                                                                           
     179                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
     180                 :     function deleteTeam() {                                                                                                                                                                                                                                                                                                                                                                                                                  
     181               0 :         global $db, $settings;                                                                                                                                                                                                                                                                                                                                                                                                               
     182               0 :         $dbp = $settings["dbPrefix"];                                                                                                                                                                                                                                                                                                                                                                                                        
     183               0 :         $db->query("DELETE FROM {$dbp}teams WHERE id='$this->ID'");                                                                                                                                                                                                                                                                                                                                                                          
     184               0 :         if (!$db->rows_affected) {                                                                                                                                                                                                                                                                                                                                                                                                           
     185               0 :             return false;                                                                                                                                                                                                                                                                                                                                                                                                                    
     186                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     187               0 :         $db->query("DELETE FROM {$dbp}user_team WHERE team_id='$this->ID'");                                                                                                                                                                                                                                                                                                                                                                 
     188               0 :         $db->query("DELETE FROM {$dbp}team_artefacts WHERE team_id='$this->ID'");                                                                                                                                                                                                                                                                                                                                                            
     189               0 :         $this->setDefaultValues();                                                                                                                                                                                                                                                                                                                                                                                                           
     190               0 :         return true;                                                                                                                                                                                                                                                                                                                                                                                                                         
     191                 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                        
     192                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
     193                 :      * Setzt Standardwerte für dieses Objekt, speichert die Änderungen aber                                                                                                                                                                                                                                                                                                                                                                
     194                 :      * nicht in der Datenbank.                                                                                                                                                                                                                                                                                                                                                                                                               
     195                 :      *                                                                                                                                                                                                                                                                                                                                                                                                                                       
     196                 :      * @access private                                                                                                                                                                                                                                                                                                                                                                                                                       
     197                 :      * @return void                                                                                                                                                                                                                                                                                                                                                                                                                          
     198                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
     199                 :     function setDefaultValues() {                                                                                                                                                                                                                                                                                                                                                                                                            
     200               0 :         $this->ID = 0;                                                                                                                                                                                                                                                                                                                                                                                                                       
     201               0 :         $this->name = "";                                                                                                                                                                                                                                                                                                                                                                                                                    
     202               0 :         $this->courseID = $_SESSION["course"];                                                                                                                                                                                                                                                                                                                                                                                               
     203               0 :         $this->maxMembers = 0;                                                                                                                                                                                                                                                                                                                                                                                                               
     204               0 :         $this->style = "";                                                                                                                                                                                                                                                                                                                                                                                                                   
     205               0 :         $this->logo = "";                                                                                                                                                                                                                                                                                                                                                                                                                    
     206               0 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                        
     207                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
     208                 :      * Gibt eine Tabellenzeile aus, die die Formularelemente zum Bearbeiten der                                                                                                                                                                                                                                                                                                                                                              
     209                 :      * Team-Eigenschaften enthält und eventuelle Fehlermeldungen.                                                                                                                                                                                                                                                                                                                                                                           
     210                 :      *                                                                                                                                                                                                                                                                                                                                                                                                                                       
     211                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                        
     212                 :      * @param array $data Assoziatives Array der im Formular anzuzeigenden Daten                                                                                                                                                                                                                                                                                                                                                             
     213                 :      * @return void                                                                                                                                                                                                                                                                                                                                                                                                                          
     214                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
     215                 :     function echoFormRow($data = null) {                                                                                                                                                                                                                                                                                                                                                                                                     
     216               0 :         if (isset($data["name"])) $name = Data::gpcUnescape($data["name"]);                                                                                                                                                                                                                                                                                                                                                                  
     217               0 :         else $name = $this->name;                                                                                                                                                                                                                                                                                                                                                                                                            
     218               0 :         if (isset($data["maxMembers"])) $maxMembers = Data::gpcUnescape($data["maxMembers"]);                                                                                                                                                                                                                                                                                                                                                
     219               0 :         else $maxMembers = $this->maxMembers;                                                                                                                                                                                                                                                                                                                                                                                                
     220               0 :         if (isset($data["style"])) $teamStyle = Data::gpcUnescape($data["style"]);                                                                                                                                                                                                                                                                                                                                                           
     221               0 :         else $teamStyle = $this->style;                                                                                                                                                                                                                                                                                                                                                                                                      
     222               0 :         if (isset($data["logo"])) $logo = Data::gpcUnescape($data["logo"]);                                                                                                                                                                                                                                                                                                                                                                  
     223               0 :         else $logo = $this->logo;                                                                                                                                                                                                                                                                                                                                                                                                            
     224               0 :         echo "<tr";                                                                                                                                                                                                                                                                                                                                                                                                                          
     225               0 :         if (!empty($this->errors)) {                                                                                                                                                                                                                                                                                                                                                                                                         
     226               0 :             echo " class='error'>"."<td colspan='5'>".nl2br(Data::toHTML($this->errors, false)) ."</td>"."</tr><tr class='error'";                                                                                                                                                                                                                                                                                                           
     227               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     228               0 :         echo "><td style='text-align: center;'>".($this->ID == 0 ? "<strong>Neu:</strong>" : "<input type='checkbox' value='".$this->ID."' name='teams[]' />") ."</td>"."<td><input type='text' name='name".$this->ID."' value=\"".Data::toHTML($name, false) ."\" maxlength='100' size='24' /></td>"."<td><input type='text' name='maxMembers".$this->ID."' value=\"".Data::toHTML($maxMembers, false) ."\" maxlength='4' size='5' /></td>";
     229               0 :         $styles = Style::getStyleTemplates();                                                                                                                                                                                                                                                                                                                                                                                                
     230               0 :         echo "<td><select name='style".$this->ID."'>";                                                                                                                                                                                                                                                                                                                                                                                       
     231               0 :         echo "<option value='' style='font-style: italic;'>Benutzer-Style</option>";                                                                                                                                                                                                                                                                                                                                                         
     232               0 :         foreach($styles as $style) {                                                                                                                                                                                                                                                                                                                                                                                                         
     233               0 :             echo "<option value=\"$style[0]\"".($style[0] == $teamStyle ? " selected='selected'" : "") .">".Data::toHTML($style[1], false) ."</option>";                                                                                                                                                                                                                                                                                     
     234               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     235               0 :         echo "</select></td>";                                                                                                                                                                                                                                                                                                                                                                                                               
     236               0 :         echo "<td><input type='text' name='logo".$this->ID."' value=\"".Data::toHTML($logo, false) ."\" maxlength='100' size='24' /></td>";                                                                                                                                                                                                                                                                                                  
     237               0 :         echo "</tr>\n";                                                                                                                                                                                                                                                                                                                                                                                                                      
     238               0 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                        
     239                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
     240                 :      * Gibt die ID des Teams zurück.                                                                                                                                                                                                                                                                                                                                                                                                        
     241                 :      *                                                                                                                                                                                                                                                                                                                                                                                                                                       
     242                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                        
     243                 :      * @return int ID des Teams                                                                                                                                                                                                                                                                                                                                                                                                              
     244                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
     245                 :     function getID() {                                                                                                                                                                                                                                                                                                                                                                                                                       
     246               0 :         return $this->ID;                                                                                                                                                                                                                                                                                                                                                                                                                    
     247                 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                        
     248                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
     249                 :      * Gibt den Namen des Teams zurück.                                                                                                                                                                                                                                                                                                                                                                                                     
     250                 :      *                                                                                                                                                                                                                                                                                                                                                                                                                                       
     251                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                        
     252                 :      * @return string Name des Teams                                                                                                                                                                                                                                                                                                                                                                                                         
     253                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
     254                 :     function getName() {                                                                                                                                                                                                                                                                                                                                                                                                                     
     255               0 :         return $this->name;                                                                                                                                                                                                                                                                                                                                                                                                                  
     256                 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                        
     257                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
     258                 :      * Überprüft den übergebenen Namen auf Gültigkeit.                                                                                                                                                                                                                                                                                                                                                                                   
     259                 :      *                                                                                                                                                                                                                                                                                                                                                                                                                                       
     260                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                        
     261                 :      * @param string $name Der zu überprüfende String                                                                                                                                                                                                                                                                                                                                                                                      
     262                 :      * @return mixed String mit Fehlerangabe oder true bei Erfolg                                                                                                                                                                                                                                                                                                                                                                            
     263                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
     264                 :     function validateName($name) {                                                                                                                                                                                                                                                                                                                                                                                                           
     265               0 :         global $db, $settings;                                                                                                                                                                                                                                                                                                                                                                                                               
     266               0 :         $dbp = $settings["dbPrefix"];                                                                                                                                                                                                                                                                                                                                                                                                        
     267               0 :         $name = trim(Data::gpcUnescape($name));                                                                                                                                                                                                                                                                                                                                                                                              
     268               0 :         if (empty($name)) return "Der Name wurde nicht angegeben.";                                                                                                                                                                                                                                                                                                                                                                          
     269               0 :         if (!preg_match("/^[a-zäöüßÄÖÜ0-9\/\-_ \(\)&'\"\.,]+$/i", $name)) return "Der Name enthält ungültige Zeichen.";                                                                                                                                                                                                                                                                                                             
     270               0 :         if (strlen($name) > 100) return "Der Name ist zu lang.";                                                                                                                                                                                                                                                                                                                                                                             
     271               0 :         if ($this->ID == 0 && $db->get_var("SELECT COUNT(*) FROM {$dbp}teams WHERE name='".Data::toMysql($name, false) ."' AND course_id='$this->courseID'") > 0) return "Ein Team mit diesem Namen ist bereits vorhanden.";                                                                                                                                                                                                                 
     272               0 :         return true;                                                                                                                                                                                                                                                                                                                                                                                                                         
     273                 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                        
     274                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
     275                 :      * Speichert den übergebenen String als neuen Namen dieses Teams.                                                                                                                                                                                                                                                                                                                                                                       
     276                 :      * Der String sollte vorher mit der Methode validateName() validiert worden                                                                                                                                                                                                                                                                                                                                                              
     277                 :      * sein!                                                                                                                                                                                                                                                                                                                                                                                                                                 
     278                 :      *                                                                                                                                                                                                                                                                                                                                                                                                                                       
     279                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                        
     280                 :      * @param string $name Zu speichernder Name                                                                                                                                                                                                                                                                                                                                                                                              
     281                 :      * @return boolean Erfolgswert                                                                                                                                                                                                                                                                                                                                                                                                           
     282                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
     283                 :     function setName($name) {                                                                                                                                                                                                                                                                                                                                                                                                                
     284               0 :         global $db, $settings;                                                                                                                                                                                                                                                                                                                                                                                                               
     285               0 :         $dbp = $settings["dbPrefix"];                                                                                                                                                                                                                                                                                                                                                                                                        
     286               0 :         $name = trim($name);                                                                                                                                                                                                                                                                                                                                                                                                                 
     287               0 :         if ($this->name == Data::gpcUnescape($name)) {                                                                                                                                                                                                                                                                                                                                                                                       
     288               0 :             return true;                                                                                                                                                                                                                                                                                                                                                                                                                     
     289                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     290               0 :         if ($this->ID == 0) {                                                                                                                                                                                                                                                                                                                                                                                                                
     291               0 :             if (!$this->createTeam()) {                                                                                                                                                                                                                                                                                                                                                                                                      
     292               0 :                 return false;                                                                                                                                                                                                                                                                                                                                                                                                                
     293                 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                
     294               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     295               0 :         $db->query("UPDATE {$dbp}teams SET name='".Data::toMysql($name) ."' WHERE id='$this->ID'");                                                                                                                                                                                                                                                                                                                                          
     296               0 :         if ($db->rows_affected) {                                                                                                                                                                                                                                                                                                                                                                                                            
     297               0 :             $this->name = Data::gpcUnescape($name);                                                                                                                                                                                                                                                                                                                                                                                          
     298               0 :             return true;                                                                                                                                                                                                                                                                                                                                                                                                                     
     299                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     300               0 :         return false;                                                                                                                                                                                                                                                                                                                                                                                                                        
     301                 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                        
     302                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
     303                 :      * Gibt den Style des Teams zurück.                                                                                                                                                                                                                                                                                                                                                                                                     
     304                 :      *                                                                                                                                                                                                                                                                                                                                                                                                                                       
     305                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                        
     306                 :      * @return string Style des Teams                                                                                                                                                                                                                                                                                                                                                                                                        
     307                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
     308                 :     function getStyle() {                                                                                                                                                                                                                                                                                                                                                                                                                    
     309               0 :         return $this->style;                                                                                                                                                                                                                                                                                                                                                                                                                 
     310                 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                        
     311                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
     312                 :      * Überprüft den übergebenen Style auf Gültigkeit.                                                                                                                                                                                                                                                                                                                                                                                   
     313                 :      *                                                                                                                                                                                                                                                                                                                                                                                                                                       
     314                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                        
     315                 :      * @param string $name Der zu überprüfende String                                                                                                                                                                                                                                                                                                                                                                                      
     316                 :      * @return mixed String mit Fehlerangabe oder true bei Erfolg                                                                                                                                                                                                                                                                                                                                                                            
     317                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
     318                 :     function validateStyle($name) {                                                                                                                                                                                                                                                                                                                                                                                                          
     319               0 :         global $db, $settings;                                                                                                                                                                                                                                                                                                                                                                                                               
     320               0 :         $dbp = $settings["dbPrefix"];                                                                                                                                                                                                                                                                                                                                                                                                        
     321               0 :         $name = trim(Data::gpcUnescape($name));                                                                                                                                                                                                                                                                                                                                                                                              
     322               0 :         if (empty($name)) {                                                                                                                                                                                                                                                                                                                                                                                                                  
     323               0 :             return true;                                                                                                                                                                                                                                                                                                                                                                                                                     
     324                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     325               0 :         $styles = Style::getStyleTemplates();                                                                                                                                                                                                                                                                                                                                                                                                
     326               0 :         foreach($styles as $style) {                                                                                                                                                                                                                                                                                                                                                                                                         
     327               0 :             if ($style[0] == $name) {                                                                                                                                                                                                                                                                                                                                                                                                        
     328               0 :                 return true;                                                                                                                                                                                                                                                                                                                                                                                                                 
     329                 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                
     330               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     331               0 :         return "Ungültige Style-Angabe.";                                                                                                                                                                                                                                                                                                                                                                                                   
     332                 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                        
     333                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
     334                 :      * Speichert den übergebenen String als neuen Style dieses Teams.                                                                                                                                                                                                                                                                                                                                                                       
     335                 :      * Der String sollte vorher mit der Methode validateStyle() validiert worden                                                                                                                                                                                                                                                                                                                                                             
     336                 :      * sein!                                                                                                                                                                                                                                                                                                                                                                                                                                 
     337                 :      *                                                                                                                                                                                                                                                                                                                                                                                                                                       
     338                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                        
     339                 :      * @param string $name Zu speichernder Style                                                                                                                                                                                                                                                                                                                                                                                             
     340                 :      * @return boolean Erfolgswert                                                                                                                                                                                                                                                                                                                                                                                                           
     341                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
     342                 :     function setStyle($name) {                                                                                                                                                                                                                                                                                                                                                                                                               
     343               0 :         global $db, $settings;                                                                                                                                                                                                                                                                                                                                                                                                               
     344               0 :         $dbp = $settings["dbPrefix"];                                                                                                                                                                                                                                                                                                                                                                                                        
     345               0 :         $name = trim($name);                                                                                                                                                                                                                                                                                                                                                                                                                 
     346               0 :         if ($this->style == Data::gpcUnescape($name)) {                                                                                                                                                                                                                                                                                                                                                                                      
     347               0 :             return true;                                                                                                                                                                                                                                                                                                                                                                                                                     
     348                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     349               0 :         if ($this->ID == 0) {                                                                                                                                                                                                                                                                                                                                                                                                                
     350               0 :             if (!$this->createTeam()) {                                                                                                                                                                                                                                                                                                                                                                                                      
     351               0 :                 return false;                                                                                                                                                                                                                                                                                                                                                                                                                
     352                 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                
     353               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     354               0 :         if (empty($name)) {                                                                                                                                                                                                                                                                                                                                                                                                                  
     355               0 :             $styleSQL = "NULL";                                                                                                                                                                                                                                                                                                                                                                                                              
     356               0 :         } else {                                                                                                                                                                                                                                                                                                                                                                                                                             
     357               0 :             $styleSQL = "'".Data::toMysql($name) ."'";                                                                                                                                                                                                                                                                                                                                                                                       
     358                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     359               0 :         $db->query("UPDATE {$dbp}teams SET style=$styleSQL WHERE id='$this->ID'");                                                                                                                                                                                                                                                                                                                                                           
     360               0 :         if ($db->rows_affected) {                                                                                                                                                                                                                                                                                                                                                                                                            
     361               0 :             $this->style = Data::gpcUnescape($name);                                                                                                                                                                                                                                                                                                                                                                                         
     362               0 :             return true;                                                                                                                                                                                                                                                                                                                                                                                                                     
     363                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     364               0 :         return false;                                                                                                                                                                                                                                                                                                                                                                                                                        
     365                 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                        
     366                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
     367                 :      * Gibt das Logo des Teams zurück.                                                                                                                                                                                                                                                                                                                                                                                                      
     368                 :      *                                                                                                                                                                                                                                                                                                                                                                                                                                       
     369                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                        
     370                 :      * @return string Logo des Teams                                                                                                                                                                                                                                                                                                                                                                                                         
     371                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
     372                 :     function getLogo() {                                                                                                                                                                                                                                                                                                                                                                                                                     
     373               0 :         return $this->logo;                                                                                                                                                                                                                                                                                                                                                                                                                  
     374                 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                        
     375                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
     376                 :      * Überprüft die übergebene Logo-URL auf Gültigkeit.                                                                                                                                                                                                                                                                                                                                                                                 
     377                 :      *                                                                                                                                                                                                                                                                                                                                                                                                                                       
     378                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                        
     379                 :      * @param string $url Der zu überprüfende String                                                                                                                                                                                                                                                                                                                                                                                       
     380                 :      * @return mixed String mit Fehlerangabe oder true bei Erfolg                                                                                                                                                                                                                                                                                                                                                                            
     381                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
     382                 :     function validateLogo($url) {                                                                                                                                                                                                                                                                                                                                                                                                            
     383               0 :         $url = trim(Data::gpcUnescape($url));                                                                                                                                                                                                                                                                                                                                                                                                
     384               0 :         if (!empty($url) && !Utilities::validateURL($url)) {                                                                                                                                                                                                                                                                                                                                                                                 
     385               0 :             return "Ungültige Logo-URL.";                                                                                                                                                                                                                                                                                                                                                                                                   
     386                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     387               0 :         return true;                                                                                                                                                                                                                                                                                                                                                                                                                         
     388                 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                        
     389                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
     390                 :      * Speichert den übergebenen String als neues Logo dieses Teams.                                                                                                                                                                                                                                                                                                                                                                        
     391                 :      * Der String sollte vorher mit der Methode validateLogo() validiert worden                                                                                                                                                                                                                                                                                                                                                              
     392                 :      * sein!                                                                                                                                                                                                                                                                                                                                                                                                                                 
     393                 :      *                                                                                                                                                                                                                                                                                                                                                                                                                                       
     394                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                        
     395                 :      * @param string $name Zu speicherndes Logo                                                                                                                                                                                                                                                                                                                                                                                              
     396                 :      * @return boolean Erfolgswert                                                                                                                                                                                                                                                                                                                                                                                                           
     397                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
     398                 :     function setLogo($name) {                                                                                                                                                                                                                                                                                                                                                                                                                
     399               0 :         global $db, $settings;                                                                                                                                                                                                                                                                                                                                                                                                               
     400               0 :         $dbp = $settings["dbPrefix"];                                                                                                                                                                                                                                                                                                                                                                                                        
     401               0 :         $name = trim($name);                                                                                                                                                                                                                                                                                                                                                                                                                 
     402               0 :         if ($this->logo == Data::gpcUnescape($name)) {                                                                                                                                                                                                                                                                                                                                                                                       
     403               0 :             return true;                                                                                                                                                                                                                                                                                                                                                                                                                     
     404                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     405               0 :         if ($this->ID == 0) {                                                                                                                                                                                                                                                                                                                                                                                                                
     406               0 :             if (!$this->createTeam()) {                                                                                                                                                                                                                                                                                                                                                                                                      
     407               0 :                 return false;                                                                                                                                                                                                                                                                                                                                                                                                                
     408                 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                
     409               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     410               0 :         if (empty($name)) {                                                                                                                                                                                                                                                                                                                                                                                                                  
     411               0 :             $logoSQL = "NULL";                                                                                                                                                                                                                                                                                                                                                                                                               
     412               0 :         } else {                                                                                                                                                                                                                                                                                                                                                                                                                             
     413               0 :             $logoSQL = "'".Data::toMysql($name) ."'";                                                                                                                                                                                                                                                                                                                                                                                        
     414                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     415               0 :         $db->query("UPDATE {$dbp}teams SET logo=$logoSQL WHERE id='$this->ID'");                                                                                                                                                                                                                                                                                                                                                             
     416               0 :         if ($db->rows_affected) {                                                                                                                                                                                                                                                                                                                                                                                                            
     417               0 :             $this->logo = Data::gpcUnescape($name);                                                                                                                                                                                                                                                                                                                                                                                          
     418               0 :             return true;                                                                                                                                                                                                                                                                                                                                                                                                                     
     419                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     420               0 :         return false;                                                                                                                                                                                                                                                                                                                                                                                                                        
     421                 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                        
     422                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
     423                 :      * Gibt die maximale Anzahl von Team-Mitgliedern zurück.                                                                                                                                                                                                                                                                                                                                                                                
     424                 :      *                                                                                                                                                                                                                                                                                                                                                                                                                                       
     425                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                        
     426                 :      * @return int Maximale Anzahl Team-Mitglieder                                                                                                                                                                                                                                                                                                                                                                                           
     427                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
     428                 :     function getMaxMembers() {                                                                                                                                                                                                                                                                                                                                                                                                               
     429               0 :         return $this->maxMembers;                                                                                                                                                                                                                                                                                                                                                                                                            
     430                 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                        
     431                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
     432                 :      * Überprüft den übergebenen Wert der maximalen Teilnehmerzahl auf Gültigkeit.                                                                                                                                                                                                                                                                                                                                                       
     433                 :      * Der Wert muss ein Integer >= 0 sein.                                                                                                                                                                                                                                                                                                                                                                                                  
     434                 :      *                                                                                                                                                                                                                                                                                                                                                                                                                                       
     435                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                        
     436                 :      * @param mixed $maxMembers Der zu überprüfende String oder Integer                                                                                                                                                                                                                                                                                                                                                                    
     437                 :      * @return mixed String mit Fehlerangabe oder true bei Erfolg                                                                                                                                                                                                                                                                                                                                                                            
     438                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
     439                 :     function validateMaxMembers($maxMembers) {                                                                                                                                                                                                                                                                                                                                                                                               
     440               0 :         if (strval(intval($maxMembers)) != $maxMembers || $maxMembers < 0) {                                                                                                                                                                                                                                                                                                                                                                 
     441               0 :             return "Ungültiger Wert der maximalen Teilnehmerzahl.";                                                                                                                                                                                                                                                                                                                                                                         
     442                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     443               0 :         return true;                                                                                                                                                                                                                                                                                                                                                                                                                         
     444                 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                        
     445                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
     446                 :      * Speichert die übergebene Zahl als die maximale Anzahl von Team-Mitgliedern.                                                                                                                                                                                                                                                                                                                                                          
     447                 :      *                                                                                                                                                                                                                                                                                                                                                                                                                                       
     448                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                        
     449                 :      * @param int $maxMembers Zu speichernde Anzahl Team-Mitglieder                                                                                                                                                                                                                                                                                                                                                                          
     450                 :      * @return boolean Erfolgswert                                                                                                                                                                                                                                                                                                                                                                                                           
     451                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
     452                 :     function setMaxMembers($maxMembers) {                                                                                                                                                                                                                                                                                                                                                                                                    
     453               0 :         global $db, $settings;                                                                                                                                                                                                                                                                                                                                                                                                               
     454               0 :         $dbp = $settings["dbPrefix"];                                                                                                                                                                                                                                                                                                                                                                                                        
     455               0 :         if ($this->maxMembers == $maxMembers) {                                                                                                                                                                                                                                                                                                                                                                                              
     456               0 :             return true;                                                                                                                                                                                                                                                                                                                                                                                                                     
     457                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     458               0 :         if (strval(intval($maxMembers)) != $maxMembers || $maxMembers < 0) {                                                                                                                                                                                                                                                                                                                                                                 
     459               0 :             return false;                                                                                                                                                                                                                                                                                                                                                                                                                    
     460                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     461               0 :         if ($this->ID == 0) {                                                                                                                                                                                                                                                                                                                                                                                                                
     462               0 :             if (!$this->createTeam()) {                                                                                                                                                                                                                                                                                                                                                                                                      
     463               0 :                 return false;                                                                                                                                                                                                                                                                                                                                                                                                                
     464                 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                
     465               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     466               0 :         $db->query("UPDATE {$dbp}teams SET max_members='$maxMembers' WHERE id='$this->ID'");                                                                                                                                                                                                                                                                                                                                                 
     467               0 :         if ($db->rows_affected) {                                                                                                                                                                                                                                                                                                                                                                                                            
     468               0 :             $this->maxMembers = intval($maxMembers);                                                                                                                                                                                                                                                                                                                                                                                         
     469               0 :             return true;                                                                                                                                                                                                                                                                                                                                                                                                                     
     470                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     471               0 :         return false;                                                                                                                                                                                                                                                                                                                                                                                                                        
     472                 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                        
     473                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
     474                 :      * Gibt die Kurs-ID des Teams zurück.                                                                                                                                                                                                                                                                                                                                                                                                   
     475                 :      *                                                                                                                                                                                                                                                                                                                                                                                                                                       
     476                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                        
     477                 :      * @return int Kurs-ID des Teams                                                                                                                                                                                                                                                                                                                                                                                                         
     478                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
     479                 :     function getCourseID() {                                                                                                                                                                                                                                                                                                                                                                                                                 
     480               0 :         return $this->courseID;                                                                                                                                                                                                                                                                                                                                                                                                              
     481                 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                        
     482                 :     /**                                                                                                                                                                                                                                                                                                                                                                                                                                      
     483                 :      * Speichert den übergebenen Integer als neue Kurs-ID dieses Team.                                                                                                                                                                                                                                                                                                                                                                      
     484                 :      *                                                                                                                                                                                                                                                                                                                                                                                                                                       
     485                 :      * @access public                                                                                                                                                                                                                                                                                                                                                                                                                        
     486                 :      * @param integer $courseID Zu speichernde Kurs-ID                                                                                                                                                                                                                                                                                                                                                                                       
     487                 :      * @return boolean Erfolgswert                                                                                                                                                                                                                                                                                                                                                                                                           
     488                 :      */                                                                                                                                                                                                                                                                                                                                                                                                                                      
     489                 :     function setCourseID($courseID) {                                                                                                                                                                                                                                                                                                                                                                                                        
     490               0 :         global $db, $settings;                                                                                                                                                                                                                                                                                                                                                                                                               
     491               0 :         $dbp = $settings["dbPrefix"];                                                                                                                                                                                                                                                                                                                                                                                                        
     492               0 :         if ($this->courseID == $courseID) {                                                                                                                                                                                                                                                                                                                                                                                                  
     493               0 :             return true;                                                                                                                                                                                                                                                                                                                                                                                                                     
     494                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     495               0 :         if (strval(intval($courseID)) != $courseID || $courseID < 1) {                                                                                                                                                                                                                                                                                                                                                                       
     496               0 :             return false;                                                                                                                                                                                                                                                                                                                                                                                                                    
     497                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     498               0 :         if ($this->ID == 0) {                                                                                                                                                                                                                                                                                                                                                                                                                
     499               0 :             if (!$this->createTeam()) {                                                                                                                                                                                                                                                                                                                                                                                                      
     500               0 :                 return false;                                                                                                                                                                                                                                                                                                                                                                                                                
     501                 :             }                                                                                                                                                                                                                                                                                                                                                                                                                                
     502               0 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     503               0 :         $db->query("UPDATE {$dbp}teams SET course_id='$courseID' WHERE id='$this->ID'");                                                                                                                                                                                                                                                                                                                                                     
     504               0 :         if ($db->rows_affected) {                                                                                                                                                                                                                                                                                                                                                                                                            
     505               0 :             $this->courseID = intval($courseID);                                                                                                                                                                                                                                                                                                                                                                                             
     506               0 :             return true;                                                                                                                                                                                                                                                                                                                                                                                                                     
     507                 :         }                                                                                                                                                                                                                                                                                                                                                                                                                                    
     508               0 :         return false;                                                                                                                                                                                                                                                                                                                                                                                                                        
     509                 :     }                                                                                                                                                                                                                                                                                                                                                                                                                                        
     510                 : }                                                                                                                                                                                                                                                                                                                                                                                                                                            

Generated by PHPUnit 3.2.21 and Xdebug 2.0.4 at Sat Nov 7 22:04:08 CET 2009.